//商品的mixin中 分类列表，品牌列表
//引入接口
import { fetchCateList, fetchBrandList } from "@/api/product";
var productmixin = {
  data() {
    return {
      //品牌下拉列表的option
      brandOptions: [],
      //分类的级联菜单数据
      productCateOptions: [],
      selectProductCateValue: "", //当级联选择器点击发生变化时绑定的数据
    };
  },
  mounted() {
    //获取品牌数据
    this.getBrandData();
    //获取分类数据
    this.getCateData();
  },
  watch: {
    selectProductCateValue(newV) {
      console.log(newV);
      //需要 newV 里面 第二个数据
      if (newV !== null && newV.length == 2) {
        this.listQuery.product_category_id = newV[1];
      }
    },
  },
  methods: {
    async getCateData() {
      var res = await fetchCateList();
      var data = res.data;
      //整理数据
      data.forEach((i) => {
        let children = []; //放子节点
        if (i.children !== null && i.children.length > 0) {
          //有子节点
          //将子节点的数据放到 children
          i.children.forEach((j) => {
            children.push({ label: j.name, value: j.id });
          });
        }
        //将一级数据放到 productCateOptions
        this.productCateOptions.push({
          label: i.name,
          value: i.id,
          children: children,
        });
      });
      console.log(this.productCateOptions);
    },
    async getBrandData() {
      var data = await fetchBrandList();
      console.log(data);
      this.brandOptions = data.data;
    },
  },
};
//输出
export default productmixin;
